 
 
 
 
 

 

 
   *******************************************************************
 ****Table 1 
 *********************************************************************
 

  use "citypanel_12_19",clear
 
 
 sort prefid year
 xtset prefid year

 
 foreach y of varlist logPM25 logSO2 {
  xtreg `y' cleanpolicy i.year, fe r cluster(prefid)  
 eststo
   xtreg `y' cleanpolicy logPGDP logpopdensity loggreenland logpexp logarea_build wind i.year , fe r cluster(prefid)  
 eststo
  xtreg `y' cleanpolicy logPGDP logpopdensity loggreenland logpexp logarea_build wind i.year prov1_year* prov2_year* prov3_year* prov4_year* prov5_year*, fe r cluster(prefid)  
 eststo
}

 esttab, se(3) b(3) drop(*.year _cons prov1_year* prov2_year* prov3_year* prov4_year* prov5_year*) star(* .1 ** .05 *** .01) tex r2
 eststo clear

 
 
 
  *******************************************************************
 ****Figure 2
 *********************************************************************
 
  use "citypanel_12_19",clear
 
** PM 2.5
xtreg logPM25 pre_5 pre_4 pre_3 pre_2 pre_1 pre0 pre1 pre2 logPGDP logpopdensity loggreenland logpexp logarea_build wind i.year , fe r cluster(prefid)  
  estimates store pm
  

coefplot pm, keep(pre* ) vertical recast(connect) yline(0) xline(6, lp(dash)) ///
            graphregion(fcolor(white)) bfcolor(none)  ///
			 coeflabels(pre_5="-5" pre_4="-4" pre_3="-3" pre_2="-2" pre_1="-1" pre0="0" pre1="1" pre2="2")  ///
			 ylabel(-0.2(0.1)0.2)    xtitle("Years since the policy adopted",height(5))   title("Panel A: PM 2.5",size(medium) color(black)) ///
			  mcolor(black)  lcol(black) ciopts(lpatt(solid) lcol(black)) 

 
 graph save "pm" ,replace
 


 
** SO2
xtreg logSO2 pre_5 pre_4 pre_3 pre_2 pre_1 pre0 pre1 pre2 logPGDP logpopdensity loggreenland logpexp logarea_build wind i.year , fe r cluster(prefid)  
  estimates store so
  

coefplot so, keep(pre* ) vertical recast(connect) yline(0) xline(6, lp(dash)) ///
            graphregion(fcolor(white)) bfcolor(none)  ///
			 coeflabels(pre_5="-5" pre_4="-4" pre_3="-3" pre_2="-2" pre_1="-1" pre0="0" pre1="1" pre2="2")  ///
			 ylabel(-0.2(0.1)0.2)   xtitle("Years since the policy adopted",height(10))  title("Panel B: SO2",size(medium) color(black)) ///
			  mcolor(black)  lcol(black) ciopts(lpatt(solid) lcol(black)) 

 
 graph save "so" ,replace
 
 graph combine pm.gph so.gph,graphregion(fcolor(white) lcolor(white) ifcolor(white) ilcolor(white))	graphregion(fcolor(white)) row(1) 
 
 drop _est_pm _est_so
 erase pm.gph
 erase so.gph
 
    

  *******************************************************************
 ****Table 2
 *********************************************************************

 
 use "cfps_12_20.dta",clear
 
 
 xtset pid year
 sort pid year
 
 foreach y of varlist trust_cadre local_gov{
 
  xtreg `y' cleanpolicy i.year i.prefid, fe cluster(pid)
  eststo
  xtreg `y' cleanpolicy age female urban schooling party i.year i.prefid , fe cluster(pid)
  eststo
  xtreg `y' cleanpolicy age female urban schooling party logPGDP logpopdensity loggreenland logpexp logarea_build wind i.year i.prefid , fe cluster(pid)
  eststo
 }

  esttab, se(3) b(3) drop(*.year *.prefid _cons) star(* .1 ** .05 *** .01) tex r2
 eststo clear
 
 
 
 
 
   *******************************************************************
 ****Figure 4
 *********************************************************************


use "reason.dta",clear

twoway bar percent reason, bfcolor(none) horizontal  ylab(,nogrid)  xtitle(Percentage %, height(5))   ytitle("", height(5)) ///
                         graphregion(fcolor(white)) ylabel(1(1)5, angle(horizontal) valuelabel labsize(vsmall) ) xlabel(0(20)80, angle(horizontal) valuelabel labsize(vsmall) ) 
					
					
					
   *******************************************************************
 ****Figure 5
 *********************************************************************					
 clear

import excel "cost.xlsx", sheet("all") firstrow



tostring proportion, gen(text) force


twoway ///
(rcap low95 high95 row, vert ) /// 
(scatter proportion row if group ==1, mcolor(gs8)  msymbol(o) color(gs8)  mlabel(text) lpattern(solid) mlabposition(10)) /// 
(scatter proportion row if group ==2, mcolor(gs8) msymbol(d)  lcolor(gs8)   mlabel(text) lpattern(dash) mlabposition(8)) /// 
, legend(row(1) order(2 "Natural gas" 3 "Electricity"  ) pos(12) ring(0) region(lstyle(none)) ) /// 
xlabel(3 "Total cost" 6 "Total expense"  , angle(0) noticks labsize(small)) /// 
xtitle("Policy cost of clean energy renovation",height(5)) ylabel(0(1000)4500) graphregion(color(white)) ylab(,nogrid) ///
ytitle("Estimated Expense") 






   *******************************************************************
 ****Table 3
 *********************************************************************	
 
 
 use "fulldata_rural",clear
 
 

 ologit  accep_cost reform net_income age gender education agri_work party enroll_vote political_news trad_media , r cluster(village_number)
   eststo 
ologit  trust_local_govern  accep_cos  net_income age gender education agri_work party enroll_vote political_news trad_media , r cluster(village_number)
  eststo
   ologit  accep_cost logsubsidy net_income age gender education agri_work party enroll_vote political_news trad_media , r cluster(village_number)
   eststo 
 ologit  trust_local_govern   logsubsidy net_income age gender education agri_work party enroll_vote political_news trad_media , r cluster(village_number)
  eststo 
    esttab, se(3) b(3)  keep(logsubsidy  accep_cost reform )  star(* .1 ** .05 *** .01) tex pr2
 eststo clear
 
 
 
   *******************************************************************
 ****Table 4
 *********************************************************************	
 
 
 use "fulldata_rural",clear
 
  ologit trust_local_govern  decision if reform==1, r cluster(village_number)
   eststo   
  ologit trust_local_govern  decision  net_income age gender education agri_work party enroll_vote political_news trad_media if reform==1 , r cluster(village_number)
   eststo 
  reg  logsubsidy  decision if reform==1  , r cluster(village_number)
    eststo 
 reg  logsubsidy   decision net_income age gender education agri_work party enroll_vote political_news trad_media if reform==1 , r cluster(village_number)
    eststo 
    esttab, se(3) b(3)  keep(decision )  star(* .1 ** .05 *** .01) tex pr2
 eststo clear
 
 
 
 
 
 
 
 
 
 
 
 
 